# 使用 Maven 官方镜像作为基础镜像，基于 JDK 11
FROM dockerproxy.cn/maven:3.8.5-openjdk-11 AS build

# 设置工作目录
WORKDIR /app

# 在 Dockerfile 开头添加环境变量
ARG GITLAB_TOKEN=PCRBvaxZ5ynyPS7FHNyh

ENV GITLAB_TOKEN=${GITLAB_TOKEN}

# 复制自定义的 settings.xml 到容器中
COPY settings.xml /root/.m2/settings.xml

# 从 GitLab 拉取代码
RUN git clone --branch Test https://oauth2:${GITLAB_TOKEN}@gitlab.datacanvas.com/ydyd/wedding-service.git .

# 构建 Maven 项目
RUN mvn clean package -DskipTests --settings /root/.m2/settings.xml

# 使用 OpenJDK 11 作为运行时环境
# FROM dockerproxy.cn/openjdk:11-
FROM dockerproxy.cn/eclipse-temurin:11.0.24_8-jre-ubi9-minimal


# 设置工作目录
WORKDIR /app

# 将构建好的 jar 文件复制到新的镜像中
COPY --from=build /app/target/*.jar wedding-service.jar

# 挂载配置文件的目录
VOLUME /app/config

# 启动应用
CMD ["java", "-Dfile.encoding=UTF-8", "-Duser.timezone=GMT+08", "-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true", "-jar", "wedding-service.jar", "--spring.config.location=/app/config/application.properties"]


# docker build --no-cache --build-arg GITLAB_TOKEN=PCRBvaxZ5ynyPS7FHNyh -t tableagent-registry.cn-beijing.cr.aliyuncs.com/wedding/wedding-service:1.0.0 .

# docker push tableagent-registry.cn-beijing.cr.aliyuncs.com/wedding/wedding-service:1.0.0

# docker run -d \
# --name your-app-container \
# -v /path/to/local/config:/app/config \
# your-app-image